草庐IT

Java Parallel Streams 关闭线程

全部标签

java - 在 Java 中,如何在单线程程序中抛出 ConcurrentModificationException?

这个问题在这里已经有了答案:WhyisaConcurrentModificationExceptionthrownandhowtodebugit(8个答案)关闭3年前。我正在阅读这个“FreuqentJavaconcurrencyproblems”问题,并被谈论java.util.ConcurrentModificationException的答案弄糊涂了.我对答案的理解是,这可能发生在单线程程序中。如何或什么条件导致以下代码抛出异常?Listlist=newArrayList(Arrays.asList("a","b","c"));for(Stringstring:list){lis

java - 为什么线程 10000 次 start() 调用比 10000 次 run() 调用花费更多时间?

我在线程上做一个helloworld,我使用run()调用(这只是一个普通的方法调用)创建了一个简单线程,并使用start创建了一个重复线程()调用产生另一个线程来处理,但是,start()调用所花费的时间比run()调用所花费的时间多,后者不是线程调用,为什么会这样?开始调用时间:00:00:08:300longtime=System.currentTimeMillis();for(inti=0;i运行调用时间:00:00:01:366longtime=System.currentTimeMillis();for(inti=0;i 最佳答案

java - Java 是否隐式通知等待线程?

我写了一个永远不会停止的测试应用程序。它发出t.wait()(t是一个Thread对象),但我从不调用通知。为什么这段代码结束?尽管主线程在t上同步,但生成的线程仍在运行,因此它不会锁定此对象。publicclassThreadWait{publicstaticvoidmain(StringsArgs[])throwsInterruptedException{System.out.println("hello");Threadt=newMyThread();synchronized(t){t.start();Thread.sleep(5000);t.wait();java.lang.S

Java SWT shell 窗口关闭事件

我只是有一个简单的问题。如何在swt应用程序中覆盖shell的窗口关闭事件?我希望X按钮简单地隐藏shell,而不是关闭程序。我尝试了一些简单的方法:shell.addListener(SWT.Close,newListener(){publicvoidhandleEvent(Eventevent){shell.setVisible(false);}});仍然终止程序。提前致谢。 最佳答案 你可以试试shell.addListener(SWT.Close,newListener(){publicvoidhandleEvent(Eve

java - 在 try-with-resource 中手动关闭

假设我使用的是一个文档不完整的第三方库,没有可用的源代码。该库的一种方法接受InputStream来加载各种数据。由于缺少文档,不清楚该方法是否在完成处理后关闭流,因此一种可能的解决方案可能是将调用包装在try-with-resource中,只是为了在安全的一面。不幸的是,Java规范(据我所知)没有提及如果在try-with-resource中手动关闭资源会发生什么。有人碰巧知道吗? 最佳答案 这将完全取决于资源本身的实现。try-with-resource语句是用于在finallyblock中调用close()(并保留异常等)的

java - 线程1在java同步方法1中执行,线程2是否可以在java同步方法2中执行?

想知道是否有人可以帮我解决这个问题。(学生)假设我们有两个线程,“Thread1”和“Thread2”。如果Thread1在方法1中执行,那么Thread2是否可以在方法2中执行?voidmethod1(){synchronized(this){}}voidmethod2(){synchronized(this){}}我要么认为是的,Thread2可以进入,因为“this”只是该方法的实例,或者不能,因为“this”是该类的实例并且Thread1持有它。 最佳答案 没有与特定方法关联的监视器-有与对象关联的监视器。因此,如果您尝试在

Java 唤醒 hibernate 线程

我读了一些其他帖子,但没有找到我正在寻找的确切答案,所以我希望有人能给出一些澄清。我有一个程序会运行一段时间。我有一些在后台运行的线程来执行各种任务,为了简单起见,让我们想想3个线程。ThreadA每10秒执行一次任务,其中ThreadB每30秒执行一次,ThreadC每5分钟执行一次。我不使用忙等待,在指定的时间让线程hibernate。我的问题是关于完全关闭。我有一个变量,每个线程也有读取权限,所以他们可以看到用户何时启动程序退出。下次线程处于Activity状态时,它们退出循环并加入,一切都很好。但是你可以看到ThreadC每5分钟才唤醒一次。我的问题是,我能否在sleep时间结

java - 如何阻止线程等待 vert.x 中的响应?

我有一种情况,我调用外部APIA并使用它的响应来提供APIB的请求并调用它,然后将响应返回给APIA的调用者。如下所示method(){response=callAPIA}method_for_API_A(){handler()->{API_B}returnresponse;}method_for_API_B(){//codetocallAPIB}我在这里面临的是APIA方法正在返回响应,而无需等待B的响应。我检查了vert.x的executeBlocking方法,还尝试使用“阻塞队列”但无法实现我打算做的事情。有人可以指导我正确的做法吗?提前致谢。编辑:只是为了解释确切的场景Clas

java - 如何学习线程,尤其是在 Java 中

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我一直对线程感到困惑,而我的类(class)现在大量使用它们。我们正在使用java.util.concurrent但我什至没有真正了解基础知识。UpDownLatch、future、执行者;这些话只是飞过我的头。你们能推荐任何资源来帮助我从头开始学习我需要什么吗?提前致谢!

java - 我可以通过线程在方法中执行特定的代码块吗

我可以通过线程在方法中执行特定的代码块吗?比如ClassA{publicvoidexecute(){/*somecodewherethreadingisnotrequired*//*blockofcodewhichneedtoexecuteviathread*/}} 最佳答案 classA{publicvoidexecute(){/*somecodewherethreadingisnotrequired*/newThread(){publicvoidrun(){/*blockofcodewhichneedtoexecuteviath